<?php if ( !defined('BASEPATH')) exit('No direct script acess allowed');

class Fabricante extends CI_Controller{


    	function __construct(){
		parent::__construct();
		
		//if (($this->session->userdata('status')) <> "logado"){
                //echo '<script language="JavaScript"> window.location="'.(base_url('administracao')).'"; </script>'; 
                //}
        }
		

    public function index($pg = 0, $data = null){
        
        $this->load->model('cfabricante');
        
        $data['cidade'] = $this->cfabricante->cidades();
        $data['estado'] = $this->cfabricante->estados();
        
        // ROTINA DE PAGINACAO -------------------------------------------
        $pg = $pg -1;
        $numreg = 5; // Quantos registros por p�gina vai ser mostrado
        $inicial = ($pg * 5); 
        $data['registro'] = $this->cfabricante->get_all_fabricante_com_paginacao($inicial,$numreg);
        $data['quantreg'] = $this->cfabricante->conta_registro_fabricante();
        $data['numreg'] = $numreg;
        $data['pgg'] = $pg;
        // FIM ROTINA DE PAGINACAO -------------------------------------------

        $this->load->view('meu_painel_de_administracao/require_padrao/topo');
        $this->load->view('meu_painel_de_administracao/require_padrao/meus_dados');
        $this->load->view('meu_painel_de_administracao/require_padrao/menu');
        $this->load->view('meu_painel_de_administracao/view_fabricante',$data);
        $this->load->view('meu_painel_de_administracao/require_padrao/rodape');

    }
    
  
public function salva_novo($pg = 0){

     $this->load->model('cfabricante');
        
        $this->load->library('form_validation');
        
        $this->form_validation->set_rules('nomefab','Nome Fantasia','required|trim|max_length[45]|is_unique[mov_fabricante.fab_nome_fantasia]');
        $this->form_validation->set_rules('razao','Razão Social','max_length[50]'); //trim
        $this->form_validation->set_rules('cnpj','CNPJ','max_length[20]|trim');
        $this->form_validation->set_rules('estadual','Inscrição Estadual','max_length[20]|trim');
        $this->form_validation->set_rules('end','Endereço','');
        $this->form_validation->set_rules('numero','Numero Do Endereço','trim|max_length[8]');
        $this->form_validation->set_rules('bairro','Bairro','max_length[20]');
        $this->form_validation->set_rules('cep','Razão Social','max_length[10]');
        $this->form_validation->set_rules('estado','Estado','required|trim');
        $this->form_validation->set_rules('cidade','Cidade','required|trim');
        $this->form_validation->set_rules('email','E-mail','trim');
        $this->form_validation->set_rules('fone','Número de Telefone','trim');
        $this->form_validation->set_rules('destaque','Destaque na Home','trim|required');
        
        
        /* ---------- ------------ ROTINA DE UPLOAD -------------- --------------  */
        $update = true;
        $config['upload_path'] = './assets/logo_fornecedores';
        $config['allowed_types'] = 'jpg|png|gif|JPEG';
        $config['encrypt_name'] = TRUE;	
        $config['max_width']  = '4000';
        $config['max_height']  = '4000';
        $config['max_size']   = '90000000000000000000000000000000000000000000';
        //$config['remove_spaces'] = TRUE;
        $this->load->library('upload',$config);
        if(!$this->upload->do_upload()){
            //$error = array('errado' => $this->upload->display_errors());
            //$this->session->set_flashdata('msg422', $error['errado']);
            $update = false;
        }
        /* ---------- ------------ FIM ROTINA DE UPLOAD ---------- ------------ */
       
        if ($this->form_validation->run() == FALSE /*|| $update == false*/){
            
            $data['nnome']                 = $this->input->post('nomefab');
            $data['nrazao']                = $this->input->post('razao');
            $data['ncnpj']                 = $this->input->post('cnpj');
            $data['nestadual']             = $this->input->post('estadual');
            $data['nend']                  = $this->input->post('end');
            $data['nnumero_end']           = $this->input->post('numero');
            $data['nbairro']               = $this->input->post('bairro');
            $data['ncep']                  = $this->input->post('cep');
            $data['ncidade']               = $this->input->post('cidade');
            $data['nestado']               = $this->input->post('estado');
            $data['nemail']                = $this->input->post('email');
            $data['nfone']                 = $this->input->post('fone');
            $data['ndestaque']             = $this->input->post('destaque');
            
            $data['bt_criar_novo']         = 'ok';
            $this->index($pg, $data);
                
        }else{
            if($update == false){
                
            }else{
            $file_data = $this->upload->data();
            }

            $new_fabricante['fab_nome_fantasia']        = $this->input->post('nomefab');
            $new_fabricante['fab_razao_social']         = $this->input->post('razao');
            $new_fabricante['fab_cnpj']                 = $this->input->post('cnpj');
            $new_fabricante['fab_inscricao_estadual']   = $this->input->post('estadual');
            $new_fabricante['fab_end']                  = $this->input->post('end');
            $new_fabricante['fab_numero_end']           = $this->input->post('numero');
            $new_fabricante['fab_bairro']               = $this->input->post('bairro');
            $new_fabricante['fab_cep']                  = $this->input->post('cep');
            $new_fabricante['fab_cidade']               = $this->input->post('cidade');
            $new_fabricante['fab_estado']               = $this->input->post('estado');
            $new_fabricante['fab_email']                = $this->input->post('email');
            $new_fabricante['fab_fone']                 = $this->input->post('fone');
            if($update == false){
            $new_fabricante['fab_logo']                 = 'n';    
            }else{
            $new_fabricante['fab_logo']                 = $file_data['file_name'];
            }
            $new_fabricante['fab_destaque']             = $this->input->post('destaque');

            
            if($this->cfabricante->salva_novo_fabricante($new_fabricante)==1){

                 $this->session->set_flashdata('mensagemok','Fabricante/Fornecedor cadastrado com sucesso !');
                 echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 

            }else{

                 $this->session->set_flashdata('mensagemerro','Erro, tente novamente !');
                 echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 
            }             
            
        }

}  
    

public function cidade($id_estado){
    
    $this->load->model('cfabricante');
    $cidade = $this->cfabricante->get_cidades_id_estado($id_estado);


    echo '<div class="campo-box"><select name="cidade" id="cidade">';
    foreach($cidade as $cid){
    echo '<option value="' .$cid->id. '">'.$cid->nome.  '</option>';
    }
    echo '</select></div>';        
}
   
public function solicita_dados($pg = 0, $id = 0){
    
    $this->load->model('cfabricante');
    
    $fabricante = $this->cfabricante->solicita_dados_de_um_fabricante($id);
    
        $data['id_fab_retorno']     = $id;
        $data['fabricante']         = $fabricante;
        $data['bt_edita']           = 'ok';
        $this->index($pg, $data);
   
}

public function excluir_logo($pg = 0 , $id = 0){    
    
        $this->load->model('cfabricante');
        $file =  $this->cfabricante->retorna_nome_da_logo($id);
        
        if(file_exists("./assets/logo_fornecedores/".$file[0]->fab_logo)){

            @unlink("./assets/logo_fornecedores/".$file[0]->fab_logo);  

            $result = $this->cfabricante->excluir_logo($id); 

            if($result == true){

                $this->solicita_dados($pg, $id);
                
            }else{
                
                $this->session->set_flashdata('mensagemok','Erro ao Escluir banner.');
                echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabicante/index/'.$pg)).'"; </script>';                              
            }

    }
    
}

public function salva_alteracao($pg = 0, $id = 0){

     $this->load->model('cfabricante');
        
        $this->load->library('form_validation');
        
        $this->form_validation->set_rules('nomefab','Nome Fantasia','required|trim|max_length[45]');
        $this->form_validation->set_rules('razao','Razão Social','max_length[50]'); //trim
        $this->form_validation->set_rules('cnpj','CNPJ','max_length[20]|trim');
        $this->form_validation->set_rules('estadual','Inscrição Estadual','max_length[20]|trim');
        $this->form_validation->set_rules('end','Endereço','');
        $this->form_validation->set_rules('numero','Numero Do Endereço','trim|max_length[8]');
        $this->form_validation->set_rules('bairro','Bairro','max_length[20]');
        $this->form_validation->set_rules('cep','Razão Social','max_length[10]');
        $this->form_validation->set_rules('estados','Estado','required|trim');
        $this->form_validation->set_rules('cidade','Cidade','required|trim');
        $this->form_validation->set_rules('email','E-mail','trim');
        $this->form_validation->set_rules('fone','Número de Telefone','trim');
        $this->form_validation->set_rules('destaque','Destaque na Home','trim|required');
        
        
        /* ---------- ------------ ROTINA DE UPLOAD -------------- --------------  */
        $update = true;
        if($this->input->post('logo') == 'naotem'){
        $config['upload_path'] = './assets/logo_fornecedores';
        $config['allowed_types'] = 'jpg|png|gif|JPEG';
        $config['encrypt_name'] = TRUE;	
        $config['max_width']  = '4000';
        $config['max_height']  = '4000';
        $config['max_size']   = '90000000000000000000000000000000000000000000';
        //$config['remove_spaces'] = TRUE;
        $this->load->library('upload',$config);
        if(!$this->upload->do_upload()){
            //$error = array('errado' => $this->upload->display_errors());
            //$this->session->set_flashdata('msg422', $error['errado']);
            $update = false;
        }
        }
        /* ---------- ------------ FIM ROTINA DE UPLOAD ---------- ------------ */
       
        if ($this->form_validation->run() == FALSE){
            
            $data['nnome']                 = $this->input->post('nomefab');
            $data['nrazao']                = $this->input->post('razao');
            $data['ncnpj']                 = $this->input->post('cnpj');
            $data['nestadual']             = $this->input->post('estadual');
            $data['nend']                  = $this->input->post('end');
            $data['nnumero_end']           = $this->input->post('numero');
            $data['nbairro']               = $this->input->post('bairro');
            $data['ncep']                  = $this->input->post('cep');
            $data['ncidade']               = $this->input->post('cidade');
            $data['nestado']               = $this->input->post('estados');
            $data['nemail']                = $this->input->post('email');
            $data['nfone']                 = $this->input->post('fone');
            $data['ndestaque']             = $this->input->post('destaque');
            
            $this->solicita_dados($pg,$id);
                
        }else{
            if($this->input->post('logo') == 'naotem' && $update <> false){
            $file_data = $this->upload->data();
            }else {}
            
            $new_fabricante['fab_nome_fantasia']        = $this->input->post('nomefab');
            $new_fabricante['fab_razao_social']         = $this->input->post('razao');
            $new_fabricante['fab_cnpj']                 = $this->input->post('cnpj');
            $new_fabricante['fab_inscricao_estadual']   = $this->input->post('estadual');
            $new_fabricante['fab_end']                  = $this->input->post('end');
            $new_fabricante['fab_numero_end']           = $this->input->post('numero');
            $new_fabricante['fab_bairro']               = $this->input->post('bairro');
            $new_fabricante['fab_cep']                  = $this->input->post('cep');
            $new_fabricante['fab_cidade']               = $this->input->post('cidade');
            $new_fabricante['fab_estado']               = $this->input->post('estados');
            $new_fabricante['fab_email']                = $this->input->post('email');
            $new_fabricante['fab_fone']                 = $this->input->post('fone');
            if($this->input->post('logo') == 'naotem' && $update <> false){
            $new_fabricante['fab_logo']                 = $file_data['file_name'];
            }else if($this->cfabricante->retorna_nome_da_logo($id) == "n"){
            $new_fabricante['fab_logo']                 = 'n';    
            }
            $new_fabricante['fab_destaque']             = $this->input->post('destaque');

            
            if($this->cfabricante->altera_fabricante($id,$new_fabricante)==1){

                if($this->input->post('logo') == 'naotem'&& $update <> false){
                 $_SESSION['msg4444'] = 'Fabricante/Fornecedor alterado com sucesso !';
                 $this->solicita_dados($pg,$id);   
                }else{
                 $this->session->set_flashdata('mensagemok','Fabricante/Fornecedor alterado com sucesso !');
                 echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 
                }
            }else{

                 $this->session->set_flashdata('mensagemerro','Erro, tente novamente !');
                 echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 
            }             
            
        }

}  

public function excluir($pg=0,$id=0){
        
        $this->load->model('cfabricante');

            if($this->cfabricante->verifica_se_o_fabricante_esta_relacionado($id) == 0){
            

                // ------------ ROTINA DE EXCLUSÃO DE IMAGEM -----------------------
                $file =  $this->cfabricante->retorna_nome_do_banner($id);

                if(file_exists("./assets/logo_fornecedores/".$file[0]->fab_logo)){

                @unlink("./assets/logo_fornecedores/".$file[0]->fab_logo);  
                }
                // ------------ fim ROTINA DE EXCLUSÃO DE IMAGEM ----------------------



                if($this->cfabricante->exclui_um_fabricante($id)==1){

                    $this->session->set_flashdata('mensagemok','Fabricante/Fornecedor excluido com sucesso !');
                    echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>';  

                }else{

                    $this->session->set_flashdata('mensagemerro','Erro ao excluir !');
                    echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 
                }
            }else{
                
                $this->session->set_flashdata('mensagemerro','Atenção ! Este fabricante/fornecedor esta relacionado com um ou mais produtos, para realizar a exclusão os produtos deverão ser retirados do relacionamento.');
                echo '<script language="JavaScript"> window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'"; </script>'; 
                
            }      
}   


public function confirma_excluir_fabricante($pg,$id){
 
 $array['msg'] = '   
?>  
&nbsp;
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript">
decisao = confirm("Deseja mesmo excluir este fabricante/fornecedor ?\n\
-Ao excluir este fabricante/fornecedor, a imagem do mesmo será excluida. \n\
-Caso este fabricante/fornecedor esteja relacionada com um ou mais produtos, não será possível fazer a exclusão.");

if (decisao){
    //ok
window.location="'.(base_url('meu_painel_de_administracao/fabricante/excluir/'.$pg.'/'.$id)).'";
} else {
    //cancelar
window.location="'.(base_url('meu_painel_de_administracao/fabricante/index/'.$pg)).'";
}
</SCRIPT>
<?php
';

    $this->load->view('meu_painel_de_administracao/require_padrao/conteudo_confirmacao',$array);
}    

















}
